package com.mxy.common.core.utils;

import java.util.Random;

/**
 * 随机生成汉字或随机生成中文姓名
 */
public abstract class AutoNameUtils {

    static {
        singleSur = new String[]{"赵",
                "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许", "何",
                "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云",
                "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳", "酆",
                "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常", "乐",
                "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余", "元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹", "姚",
                "邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "贝", "明", "臧", "计", "伏", "成", "戴", "谈", "宋", "茅", "庞", "熊",
                "纪", "舒", "屈", "项", "祝", "董", "梁", "杜", "阮", "蓝", "闵", "席", "季", "麻", "强", "贾", "路", "娄", "危", "江",
                "童", "颜", "郭", "梅", "盛", "林", "刁", "锺", "徐", "邱", "骆", "高", "夏", "蔡", "田", "樊", "胡", "凌", "霍", "虞",
                "万", "支", "柯", "昝", "管", "卢", "莫", "经", "房", "裘", "缪", "干", "解", "应", "宗", "丁", "宣", "贲", "邓", "郁",
                "单", "杭", "洪", "包", "诸", "左", "石", "崔", "吉", "钮", "龚", "程", "嵇", "邢", "滑", "裴", "陆", "荣", "翁", "荀",
                "羊", "於", "惠", "甄", "麴", "家", "封", "芮", "羿", "储", "靳", "汲", "邴", "糜", "松", "井", "段", "富", "巫", "乌",
                "焦", "巴", "弓", "牧", "隗", "山", "谷", "车", "侯", "宓", "蓬", "全", "郗", "班", "仰", "秋", "仲", "伊", "宫", "宁",
                "仇", "栾", "暴", "甘", "钭", "历", "戎", "祖", "武", "符", "刘", "景", "詹", "束", "龙", "叶", "幸", "司", "韶", "郜",
                "黎", "蓟", "溥", "印", "宿", "白", "怀", "蒲", "邰", "从", "鄂", "索", "咸", "籍", "赖", "卓", "蔺", "屠", "蒙", "池",
                "乔", "阳", "郁", "胥", "能", "苍", "双", "闻", "莘", "党", "翟", "谭", "贡", "劳", "逄", "姬", "申", "扶", "堵", "冉",
                "宰", "郦", "雍", "却", "璩", "桑", "桂", "濮", "牛", "寿", "通", "边", "扈", "燕", "冀", "僪", "浦", "尚", "农", "温",
                "别", "庄", "晏", "柴", "瞿", "阎", "充", "慕", "连", "茹", "习", "宦", "艾", "鱼", "容", "向", "古", "易", "慎", "戈",
                "廖", "庾", "终", "暨", "居", "衡", "步", "都", "耿", "满", "弘", "匡", "国", "文", "寇", "广", "禄", "阙", "东", "欧",
                "殳", "沃", "利", "蔚", "越", "夔", "隆", "师", "巩", "厍", "聂", "晁", "勾", "敖", "融", "冷", "訾", "辛", "阚", "那",
                "简", "饶", "空", "曾", "毋", "沙", "乜", "养", "鞠", "须", "丰", "巢", "关", "蒯", "相", "查", "后", "荆", "红", "游",
                "竺", "权", "逮", "盍", "益", "桓", "公", "税", "荤", "靖", "绪", "愈", "硕", "牢", "买", "但", "巧", "枚", "撒", "泰",
                "秘", "亥", "绍", "以", "壬", "森", "斋", "释", "奕", "姒", "朋", "求", "羽", "用", "占", "真", "穰", "翦", "闾", "漆",
                "贵", "代", "贯", "旁", "崇", "栋", "告", "休", "褒", "谏", "锐", "皋", "闳", "在", "歧", "禾", "示", "是", "委", "钊",
                "频", "嬴", "呼", "大", "威", "昂", "律", "冒", "保", "系", "抄", "定", "化", "莱", "校", "么", "抗", "祢", "綦", "悟",
                "宏", "功", "庚", "务", "敏", "捷", "拱", "兆", "丑", "丙", "畅", "苟", "随", "类", "卯", "俟", "友", "答", "乙", "允",
                "甲", "留", "尾", "佼", "玄", "乘", "裔", "延", "植", "环", "矫", "赛", "昔", "侍", "度", "旷", "遇", "偶", "前", "由",
                "咎", "塞", "敛", "受", "泷", "袭", "衅", "叔", "圣", "御", "夫", "仆", "镇", "藩", "邸", "府", "掌", "首", "员", "焉",
                "戏", "可", "智", "尔", "凭", "悉", "进", "笃", "厚", "仁", "业", "肇", "资", "合", "仍", "九", "衷", "哀", "刑", "俎",
                "仵", "圭", "夷", "徭", "蛮", "汗", "孛", "乾", "帖", "罕", "洛", "淦", "洋", "邶", "郸", "郯", "邗", "邛", "剑", "虢",
                "隋", "蒿", "茆", "菅", "苌", "树", "桐", "锁", "钟", "机", "盘", "铎", "斛", "玉", "线", "针", "箕", "庹", "绳", "磨",
                "蒉", "瓮", "弭", "刀", "疏", "牵", "浑", "恽", "势", "世", "仝", "同", "蚁", "止", "戢", "睢", "冼", "种", "涂", "肖",
                "己", "泣", "潜", "卷", "脱", "谬", "蹉", "赧", "浮", "顿", "说", "次", "错", "念", "夙", "斯", "完", "丹", "表", "聊",
                "源", "姓", "吾", "寻", "展", "出", "不", "户", "闭", "才", "无", "书", "学", "愚", "本", "性", "雪", "霜", "烟", "寒",
                "少", "字", "桥", "板", "斐", "独", "千", "诗", "嘉", "扬", "善", "揭", "祈", "析", "赤", "紫", "青", "柔", "刚", "奇",
                "拜", "佛", "陀", "弥", "阿", "素", "长", "僧", "隐", "仙", "隽", "宇", "祭", "酒", "淡", "塔", "琦", "闪", "始", "星",
                "南", "天", "接", "波", "碧", "速", "禚", "腾", "潮", "镜", "似", "澄", "潭", "謇", "纵", "渠", "奈", "风", "春", "濯",
                "沐", "茂", "英", "兰", "檀", "藤", "枝", "检", "生", "折", "登", "驹", "骑", "貊", "虎", "肥", "鹿", "雀", "野", "禽",
                "飞", "节", "宜", "鲜", "粟", "栗", "豆", "帛", "官", "布", "衣", "藏", "宝", "钞", "银", "门", "盈", "庆", "喜", "及",
                "普", "建", "营", "巨", "望", "希", "道", "载", "声", "漫", "犁", "力", "贸", "勤", "革", "改", "兴", "亓", "睦", "修",
                "信", "闽", "北", "守", "坚", "勇", "汉", "练", "尉", "士", "旅", "五", "令", "将", "旗", "军", "行", "奉", "敬", "恭",
                "仪", "母", "堂", "丘", "义", "礼", "慈", "孝", "理", "伦", "卿", "问", "永", "辉", "位", "让", "尧", "依", "犹", "介",
                "承", "市", "所", "苑", "杞", "剧", "第", "零", "谌", "招", "续", "达", "忻", "六", "鄞", "战", "迟", "候", "宛", "励",
                "粘", "萨", "邝", "覃", "辜", "初", "楼", "城", "区", "局", "台", "原", "考", "妫", "纳", "泉", "老", "清", "德", "卑",
                "过", "麦", "曲", "竹", "百", "福", "言", "佟", "爱", "年", "笪", "谯", "哈", "墨", "召", "寸", "贰", "皇", "侨", "彤",
                "竭", "端", "赫", "实", "甫", "集", "象", "翠", "狂", "辟", "典", "良", "函", "芒", "苦", "其", "京", "中", "夕", "蹇",
                "称", "诺", "来", "多", "繁", "戊", "朴", "回", "毓", "有", "舜", "丛", "岳", "之", "冠", "宾", "香", "果", "赏", "伯",
                "佴", "佘", "牟", "商", "琴", "后", "况", "亢", "缑", "帅", "海", "归", "钦", "鄢", "汝", "法", "闫", "楚", "晋", "督",
                "仉", "盖", "逯", "库", "郏", "逢", "阴", "薄", "厉", "稽", "开", "光", "操", "瑞", "眭", "泥", "运", "摩", "伟", "铁",
                "迮", "付"};

        doubleSur = new String[]{"万俟",
                "司马", "上官", "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫", "尉迟", "公羊", "澹台", "公冶", "宗政",
                "濮阳", "淳于", "单于", "太叔", "申屠", "公孙", "仲孙", "轩辕", "令狐", "钟离", "宇文", "长孙", "慕容", "司徒",
                "司空", "第五", "章佳", "那拉", "纳喇", "乌雅", "范姜", "碧鲁", "张廖", "张简", "图门", "太史", "公叔", "乌孙",
                "完颜", "马佳", "佟佳", "富察", "费莫", "南宫", "西门", "东门", "左丘", "梁丘", "微生", "羊舌", "呼延", "南门",
                "东郭", "百里", "谷梁", "宰父", "夹谷", "拓跋", "壤驷", "乐正", "漆雕", "公西", "巫马", "端木", "颛孙", "子车",
                "鲜于", "司寇", "亓官", "锺离", "闾丘", "公良", "段干"};

        ethnicSur = new String[]{"萨嘛喇", "赫舍里", "萨克达", "钮祜禄", "他塔喇", "喜塔腊", "库雅喇", "瓜尔佳",
                "舒穆禄", "索绰络", "依尔觉罗", "额尔德特", "叶赫那拉", "讷殷富察", "叶赫那兰", "爱新觉罗", "依尔根觉罗"};

        chineseWord = new String[]{"阿",
                "啊", "哎", "哀", "唉", "埃", "挨", "癌", "矮", "艾", "爱", "碍", "安", "氨", "俺", "岸", "按", "案", "暗", "昂", "凹",
                "熬", "傲", "奥", "澳", "八", "巴", "叭", "吧", "拔", "把", "坝", "爸", "罢", "霸", "白", "百", "柏", "摆", "败", "拜",
                "班", "般", "颁", "斑", "搬", "板", "版", "办", "半", "伴", "扮", "瓣", "邦", "帮", "膀", "傍", "棒", "包", "胞", "宝",
                "饱", "保", "堡", "报", "抱", "豹", "暴", "爆", "卑", "杯", "悲", "碑", "北", "贝", "备", "背", "倍", "被", "辈", "奔",
                "本", "崩", "逼", "鼻", "比", "彼", "笔", "币", "必", "毕", "闭", "辟", "碧", "蔽", "壁", "避", "臂", "边", "编", "蝙",
                "鞭", "扁", "便", "变", "遍", "辨", "辩", "标", "表", "别", "宾", "滨", "冰", "兵", "丙", "柄", "饼", "并", "病", "拨",
                "波", "玻", "剥", "播", "脖", "伯", "驳", "泊", "勃", "博", "搏", "膊", "薄", "卜", "补", "捕", "不", "布", "步", "部",
                "擦", "猜", "才", "材", "财", "裁", "采", "彩", "踩", "菜", "蔡", "参", "餐", "残", "蚕", "惨", "灿", "仓", "苍", "舱",
                "藏", "操", "曹", "槽", "草", "册", "侧", "测", "策", "层", "叉", "插", "查", "茶", "察", "差", "拆", "柴", "缠", "产",
                "阐", "颤", "昌", "长", "肠", "尝", "偿", "常", "厂", "场", "畅", "倡", "唱", "抄", "超", "巢", "朝", "潮", "吵", "炒",
                "车", "扯", "彻", "撤", "尘", "臣", "沉", "陈", "闯", "衬", "称", "趁", "撑", "成", "呈", "承", "诚", "城", "乘", "惩",
                "程", "橙", "吃", "池", "驰", "迟", "持", "匙", "尺", "齿", "斥", "赤", "翅", "充", "冲", "虫", "崇", "抽", "仇", "绸",
                "愁", "筹", "酬", "丑", "瞅", "臭", "出", "初", "除", "厨", "础", "储", "楚", "处", "触", "川", "穿", "传", "船", "喘",
                "串", "窗", "床", "晨", "创", "吹", "垂", "锤", "春", "纯", "唇", "醇", "词", "瓷", "慈", "辞", "磁", "雌", "此", "次",
                "刺", "从", "匆", "葱", "聪", "丛", "凑", "粗", "促", "催", "脆", "翠", "村", "存", "寸", "措", "错", "搭", "达", "答",
                "打", "大", "呆", "代", "带", "待", "袋", "逮", "戴", "丹", "单", "担", "胆", "旦", "但", "诞", "弹", "淡", "蛋", "氮",
                "当", "挡", "党", "荡", "刀", "导", "岛", "倒", "蹈", "到", "盗", "道", "稻", "得", "德", "的", "灯", "登", "等", "邓",
                "凳", "瞪", "低", "堤", "滴", "迪", "敌", "笛", "底", "抵", "地", "弟", "帝", "递", "第", "颠", "典", "点", "电", "店",
                "垫", "淀", "殿", "雕", "吊", "钓", "调", "掉", "爹", "跌", "叠", "蝶", "丁", "叮", "盯", "钉", "顶", "订", "定", "丢",
                "东", "冬", "懂", "动", "冻", "洞", "都", "斗", "抖", "陡", "豆", "督", "毒", "读", "独", "堵", "赌", "杜", "肚", "度",
                "渡", "端", "短", "段", "断", "锻", "堆", "队", "对", "吨", "敦", "蹲", "盾", "顿", "多", "夺", "朵", "躲", "俄", "鹅",
                "额", "恶", "饿", "鳄", "恩", "儿", "而", "尔", "耳", "二", "发", "乏", "伐", "罚", "阀", "法", "帆", "番", "翻", "凡",
                "烦", "繁", "反", "返", "犯", "泛", "饭", "范", "贩", "方", "坊", "芳", "防", "妨", "房", "肪", "仿", "访", "纺", "放",
                "飞", "非", "啡", "菲", "肥", "废", "沸", "肺", "费", "分", "纷", "芬", "坟", "粉", "份", "奋", "愤", "粪", "丰", "风",
                "枫", "封", "疯", "峰", "锋", "蜂", "冯", "逢", "缝", "凤", "奉", "佛", "否", "夫", "肤", "孵", "弗", "伏", "扶", "服",
                "浮", "符", "幅", "福", "辐", "蝠", "抚", "府", "辅", "腐", "父", "付", "妇", "负", "附", "复", "赴", "副", "傅", "富",
                "赋", "腹", "覆", "该", "改", "钙", "盖", "溉", "概", "干", "甘", "杆", "肝", "赶", "敢", "感", "刚", "岗", "纲", "缸",
                "钢", "港", "高", "搞", "稿", "告", "戈", "哥", "胳", "鸽", "割", "歌", "阁", "革", "格", "葛", "隔", "个", "各", "给",
                "根", "跟", "更", "耕", "工", "弓", "公", "功", "攻", "供", "宫", "恭", "巩", "拱", "共", "贡", "勾", "沟", "钩", "狗",
                "构", "购", "够", "估", "咕", "姑", "孤", "菇", "古", "谷", "股", "骨", "鼓", "固", "故", "顾", "瓜", "刮", "挂", "拐",
                "怪", "关", "观", "官", "冠", "馆", "管", "贯", "惯", "灌", "罐", "光", "广", "归", "龟", "规", "硅", "轨", "鬼", "柜",
                "贵", "桂", "滚", "棍", "郭", "锅", "国", "果", "裹", "过", "哈", "孩", "海", "害", "含", "函", "寒", "韩", "罕", "喊",
                "汉", "汗", "旱", "杭", "航", "毫", "豪", "好", "号", "浩", "耗", "呵", "喝", "合", "何", "和", "河", "核", "荷", "盒",
                "贺", "褐", "赫", "鹤", "黑", "嘿", "痕", "很", "狠", "恨", "哼", "恒", "横", "衡", "轰", "哄", "红", "宏", "洪", "虹",
                "鸿", "侯", "喉", "猴", "吼", "后", "厚", "候", "乎", "呼", "忽", "狐", "胡", "壶", "湖", "葫", "糊", "蝴", "虎", "互",
                "户", "护", "花", "华", "哗", "滑", "化", "划", "画", "话", "桦", "怀", "淮", "坏", "欢", "还", "环", "缓", "幻", "唤",
                "换", "患", "荒", "慌", "皇", "黄", "煌", "晃", "灰", "恢", "挥", "辉", "徽", "回", "毁", "悔", "汇", "会", "绘", "惠",
                "慧", "昏", "婚", "浑", "魂", "混", "活", "火", "伙", "或", "货", "获", "祸", "惑", "霍", "击", "饥", "圾", "机", "肌",
                "鸡", "积", "基", "迹", "绩", "激", "及", "吉", "级", "即", "极", "急", "疾", "集", "辑", "籍", "几", "己", "挤", "脊",
                "计", "记", "纪", "忌", "技", "际", "剂", "季", "既", "济", "继", "寂", "寄", "加", "夹", "佳", "家", "嘉", "甲", "贾",
                "钾", "价", "驾", "架", "假", "嫁", "稼", "尖", "坚", "间", "肩", "艰", "兼", "监", "减", "剪", "检", "简", "碱", "见",
                "件", "建", "剑", "健", "舰", "渐", "践", "鉴", "键", "箭", "江", "姜", "将", "浆", "僵", "疆", "讲", "奖", "蒋", "匠",
                "降", "交", "郊", "娇", "浇", "骄", "胶", "焦", "礁", "角", "脚", "搅", "叫", "轿", "较", "教", "阶", "皆", "接", "揭",
                "街", "节", "劫", "杰", "洁", "结", "捷", "截", "竭", "姐", "解", "介", "戒", "届", "界", "借", "巾", "今", "斤", "金",
                "津", "筋", "仅", "紧", "锦", "尽", "劲", "近", "进", "晋", "浸", "禁", "京", "经", "茎", "惊", "晶", "睛", "精", "鲸",
                "井", "颈", "景", "警", "净", "径", "竞", "竟", "敬", "境", "静", "镜", "纠", "究", "九", "久", "酒", "旧", "救", "就",
                "舅", "居", "局", "菊", "橘", "举", "矩", "句", "巨", "拒", "具", "俱", "剧", "惧", "据", "距", "聚", "卷", "倦", "决",
                "绝", "觉", "掘", "嚼", "军", "君", "均", "菌", "俊", "峻", "卡", "开", "凯", "慨", "刊", "堪", "砍", "看", "康", "抗",
                "炕", "考", "烤", "靠", "科", "棵", "颗", "壳", "咳", "可", "渴", "克", "刻", "客", "课", "肯", "坑", "空", "孔", "恐",
                "控", "口", "扣", "枯", "哭", "苦", "库", "裤", "酷", "夸", "跨", "块", "快", "宽", "款", "狂", "况", "矿", "亏", "葵",
                "愧", "溃", "昆", "困", "扩", "括", "阔", "垃", "拉", "啦", "喇", "腊", "蜡", "辣", "来", "莱", "赖", "兰", "拦", "栏",
                "蓝", "篮", "览", "懒", "烂", "滥", "郎", "狼", "廊", "朗", "浪", "捞", "劳", "牢", "老", "乐", "勒", "雷", "蕾", "泪",
                "类", "累", "冷", "愣", "厘", "梨", "离", "莉", "犁", "璃", "黎", "礼", "李", "里", "哩", "理", "鲤", "力", "历", "厉",
                "立", "丽", "利", "励", "例", "隶", "粒", "俩", "连", "帘", "怜", "莲", "联", "廉", "脸", "练", "炼", "恋", "链", "良",
                "凉", "梁", "粮", "两", "亮", "辆", "量", "辽", "疗", "聊", "僚", "了", "料", "列", "劣", "烈", "猎", "裂", "邻", "林",
                "临", "淋", "磷", "灵", "玲", "凌", "铃", "陵", "羚", "零", "龄", "领", "岭", "令", "另", "溜", "刘", "流", "留", "硫",
                "瘤", "柳", "六", "龙", "笼", "隆", "垄", "拢", "楼", "漏", "露", "卢", "芦", "炉", "鲁", "陆", "录", "鹿", "碌", "路",
                "驴", "旅", "铝", "履", "律", "虑", "率", "绿", "氯", "滤", "卵", "乱", "掠", "略", "伦", "轮", "论", "罗", "萝", "逻",
                "螺", "裸", "洛", "络", "骆", "落", "妈", "麻", "马", "玛", "码", "蚂", "骂", "吗", "嘛", "埋", "买", "迈", "麦", "卖",
                "脉", "蛮", "满", "曼", "慢", "漫", "忙", "芒", "盲", "茫", "猫", "毛", "矛", "茅", "茂", "冒", "贸", "帽", "貌", "么",
                "没", "枚", "玫", "眉", "梅", "媒", "煤", "霉", "每", "美", "妹", "门", "闷", "们", "萌", "盟", "猛", "蒙", "孟", "梦",
                "弥", "迷", "谜", "米", "泌", "秘", "密", "蜜", "眠", "绵", "棉", "免", "勉", "面", "苗", "描", "秒", "妙", "庙", "灭",
                "民", "敏", "名", "明", "鸣", "命", "摸", "模", "膜", "摩", "磨", "蘑", "魔", "抹", "末", "沫", "陌", "莫", "漠", "墨",
                "默", "谋", "某", "母", "亩", "牡", "姆", "拇", "木", "目", "牧", "墓", "幕", "慕", "穆", "拿", "哪", "内", "那", "纳",
                "娜", "钠", "乃", "奶", "奈", "耐", "男", "南", "难", "囊", "恼", "脑", "闹", "呢", "嫩", "能", "尼", "泥", "你", "拟",
                "逆", "年", "念", "娘", "酿", "鸟", "尿", "捏", "您", "宁", "凝", "牛", "扭", "纽", "农", "浓", "弄", "奴", "努", "怒",
                "女", "暖", "挪", "诺", "哦", "欧", "偶", "爬", "帕", "怕", "拍", "排", "牌", "派", "攀", "盘", "判", "叛", "盼", "庞",
                "旁", "胖", "抛", "炮", "跑", "泡", "胚", "陪", "培", "赔", "佩", "配", "喷", "盆", "朋", "棚", "蓬", "鹏", "膨", "捧",
                "碰", "批", "披", "皮", "疲", "脾", "匹", "屁", "譬", "片", "偏", "篇", "骗", "漂", "飘", "瓢", "票", "拼", "贫", "频",
                "品", "平", "评", "凭", "苹", "屏", "瓶", "萍", "坡", "泼", "颇", "婆", "迫", "破", "剖", "扑", "铺", "葡", "蒲", "朴",
                "浦", "普", "谱", "七", "妻", "栖", "戚", "期", "欺", "漆", "齐", "其", "奇", "歧", "骑", "棋", "旗", "企", "岂", "启",
                "起", "气", "弃", "汽", "契", "砌", "器", "恰", "千", "迁", "牵", "铅", "谦", "签", "前", "钱", "潜", "浅", "遣", "欠",
                "枪", "腔", "强", "墙", "抢", "悄", "敲", "乔", "桥", "瞧", "巧", "切", "茄", "且", "窃", "亲", "侵", "秦", "琴", "禽",
                "勤", "青", "氢", "轻", "倾", "清", "情", "晴", "顷", "请", "庆", "穷", "丘", "秋", "蚯", "求", "球", "区", "曲", "驱",
                "屈", "躯", "趋", "取", "娶", "去", "趣", "圈", "全", "权", "泉", "拳", "犬", "劝", "券", "缺", "却", "雀", "确", "鹊",
                "裙", "群", "然", "燃", "染", "嚷", "壤", "让", "饶", "扰", "绕", "惹", "热", "人", "仁", "忍", "认", "任", "扔", "仍",
                "日", "绒", "荣", "容", "溶", "熔", "融", "柔", "肉", "如", "儒", "乳", "辱", "入", "软", "锐", "瑞", "润", "若", "弱",
                "撒", "洒", "萨", "塞", "赛", "三", "伞", "散", "桑", "嗓", "丧", "扫", "嫂", "色", "森", "僧", "杀", "沙", "纱", "刹",
                "砂", "傻", "啥", "晒", "山", "杉", "衫", "珊", "闪", "陕", "扇", "善", "伤", "商", "赏", "上", "尚", "梢", "烧", "稍",
                "少", "绍", "哨", "舌", "蛇", "舍", "设", "社", "射", "涉", "摄", "申", "伸", "身", "深", "神", "审", "婶", "肾", "甚",
                "渗", "慎", "升", "生", "声", "牲", "胜", "绳", "省", "圣", "盛", "剩", "尸", "失", "师", "诗", "施", "狮", "湿", "十",
                "什", "石", "时", "识", "实", "拾", "蚀", "食", "史", "使", "始", "驶", "士", "氏", "世", "市", "示", "式", "事", "侍",
                "势", "视", "试", "饰", "室", "是", "适", "逝", "释", "收", "手", "守", "首", "寿", "受", "兽", "售", "授", "瘦", "书",
                "抒", "叔", "枢", "殊", "疏", "舒", "输", "蔬", "熟", "暑", "署", "属", "鼠", "薯", "术", "束", "述", "树", "竖", "数",
                "刷", "耍", "衰", "摔", "甩", "帅", "双", "霜", "爽", "谁", "水", "税", "睡", "顺", "瞬", "说", "丝", "司", "私", "思",
                "斯", "撕", "死", "四", "寺", "似", "饲", "松", "耸", "宋", "送", "颂", "搜", "艘", "苏", "俗", "诉", "肃", "素", "速",
                "宿", "塑", "酸", "蒜", "算", "虽", "随", "髓", "岁", "遂", "碎", "穗", "孙", "损", "笋", "缩", "所", "索", "锁", "他",
                "它", "她", "塌", "塔", "踏", "胎", "台", "抬", "太", "态", "泰", "贪", "摊", "滩", "坛", "谈", "潭", "坦", "叹", "炭",
                "探", "碳", "汤", "唐", "堂", "塘", "糖", "躺", "趟", "涛", "掏", "逃", "桃", "陶", "淘", "萄", "讨", "套", "特", "疼",
                "腾", "藤", "梯", "踢", "啼", "提", "题", "蹄", "体", "替", "天", "添", "田", "甜", "填", "挑", "条", "跳", "贴", "铁",
                "厅", "听", "廷", "亭", "庭", "停", "蜓", "挺", "艇", "通", "同", "桐", "铜", "童", "统", "桶", "筒", "痛", "偷", "头",
                "投", "透", "突", "图", "徒", "涂", "途", "屠", "土", "吐", "兔", "团", "推", "腿", "退", "吞", "托", "拖", "脱", "驼",
                "妥", "拓", "唾", "挖", "哇", "蛙", "娃", "瓦", "歪", "外", "弯", "湾", "丸", "完", "玩", "顽", "挽", "晚", "碗", "万",
                "汪", "亡", "王", "网", "往", "忘", "旺", "望", "危", "威", "微", "为", "围", "违", "唯", "惟", "维", "伟", "伪", "尾",
                "纬", "委", "萎", "卫", "未", "位", "味", "胃", "谓", "喂", "慰", "魏", "温", "文", "纹", "闻", "蚊", "吻", "稳", "问",
                "翁", "窝", "我", "沃", "卧", "握", "乌", "污", "屋", "无", "吴", "吾", "五", "午", "伍", "武", "舞", "务", "物", "误",
                "悟", "雾", "夕", "西", "吸", "希", "析", "息", "牺", "悉", "惜", "晰", "稀", "溪", "锡", "熙", "嘻", "膝", "习", "席",
                "袭", "媳", "洗", "喜", "戏", "系", "细", "隙", "虾", "瞎", "峡", "狭", "辖", "霞", "下", "吓", "夏", "厦", "仙", "先",
                "纤", "掀", "鲜", "闲", "弦", "贤", "咸", "衔", "嫌", "显", "险", "县", "现", "线", "限", "宪", "陷", "献", "腺", "乡",
                "相", "香", "厢", "湘", "箱", "详", "祥", "翔", "享", "响", "想", "向", "巷", "项", "象", "像", "橡", "削", "消", "萧",
                "硝", "销", "小", "晓", "孝", "效", "校", "笑", "些", "歇", "协", "胁", "斜", "谐", "携", "鞋", "写", "泄", "泻", "卸",
                "屑", "械", "谢", "蟹", "心", "辛", "欣", "新", "信", "兴", "星", "猩", "刑", "行", "形", "型", "醒", "杏", "姓", "幸",
                "性", "凶", "兄", "匈", "胸", "雄", "熊", "休", "修", "羞", "朽", "秀", "绣", "袖", "嗅", "须", "虚", "需", "徐", "许",
                "序", "叙", "畜", "绪", "续", "蓄", "宣", "玄", "悬", "旋", "选", "穴", "学", "雪", "血", "寻", "巡", "询", "循", "训",
                "讯", "迅", "压", "呀", "鸦", "鸭", "牙", "芽", "崖", "哑", "雅", "亚", "咽", "烟", "淹", "延", "严", "言", "岩", "沿",
                "炎", "研", "盐", "颜", "衍", "掩", "眼", "演", "厌", "宴", "艳", "验", "焰", "雁", "燕", "央", "扬", "羊", "阳", "杨",
                "洋", "仰", "养", "氧", "痒", "样", "腰", "邀", "摇", "遥", "咬", "药", "要", "耀", "爷", "也", "冶", "野", "业", "叶",
                "页", "夜", "液", "一", "伊", "衣", "医", "依", "仪", "夷", "宜", "姨", "移", "遗", "疑", "乙", "已", "以", "矣", "蚁",
                "椅", "义", "亿", "忆", "艺", "议", "亦", "异", "役", "抑", "译", "易", "疫", "益", "谊", "逸", "意", "溢", "毅", "翼",
                "因", "阴", "音", "吟", "银", "引", "饮", "蚓", "隐", "印", "应", "英", "婴", "鹰", "迎", "盈", "营", "蝇", "赢", "影",
                "映", "硬", "哟", "拥", "永", "泳", "勇", "涌", "用", "优", "忧", "幽", "悠", "尤", "犹", "由", "邮", "油", "游", "友",
                "有", "又", "右", "幼", "诱", "于", "予", "余", "鱼", "娱", "渔", "愉", "愚", "与", "宇", "羽", "雨", "语", "玉", "吁",
                "育", "郁", "狱", "浴", "预", "域", "欲", "喻", "寓", "御", "裕", "遇", "愈", "誉", "豫", "元", "员", "园", "原", "圆",
                "袁", "援", "缘", "源", "远", "怨", "院", "愿", "曰", "约", "月", "岳", "钥", "悦", "阅", "跃", "越", "云", "匀", "允",
                "孕", "运", "晕", "韵", "蕴", "杂", "砸", "灾", "栽", "宰", "载", "再", "在", "咱", "暂", "赞", "脏", "葬", "遭", "糟",
                "早", "枣", "藻", "灶", "皂", "造", "噪", "燥", "躁", "则", "择", "泽", "责", "贼", "怎", "曾", "增", "赠", "渣", "扎",
                "眨", "炸", "摘", "宅", "窄", "债", "沾", "粘", "展", "占", "战", "站", "张", "章", "涨", "掌", "丈", "仗", "帐", "胀",
                "账", "障", "招", "找", "召", "兆", "赵", "照", "罩", "遮", "折", "哲", "者", "这", "浙", "针", "侦", "珍", "真", "诊",
                "枕", "阵", "振", "镇", "震", "争", "征", "挣", "睁", "蒸", "整", "正", "证", "郑", "政", "症", "之", "支", "汁", "芝",
                "枝", "知", "织", "肢", "脂", "蜘", "执", "直", "值", "职", "植", "殖", "止", "只", "旨", "址", "纸", "指", "趾", "至",
                "志", "制", "治", "质", "致", "智", "置", "中", "忠", "终", "钟", "肿", "种", "仲", "众", "重", "州", "舟", "周", "洲",
                "轴", "宙", "皱", "骤", "朱", "株", "珠", "诸", "猪", "蛛", "竹", "烛", "逐", "主", "煮", "嘱", "住", "助", "注", "贮",
                "驻", "柱", "祝", "著", "筑", "抓", "爪", "专", "砖", "转", "赚", "庄", "桩", "装", "壮", "状", "撞", "追", "准", "捉",
                "桌", "着", "仔", "兹", "姿", "资", "滋", "籽", "子", "紫", "字", "自", "宗", "综", "棕", "踪", "总", "纵", "走", "奏",
                "租", "足", "族", "阻", "组", "祖", "钻", "嘴", "最", "罪", "醉", "尊", "遵", "昨", "左", "作", "坐", "座", "做", "蔼",
                "隘", "庵", "鞍", "黯", "肮", "拗", "袄", "懊", "扒", "芭", "疤", "捌", "跋", "靶", "掰", "扳", "拌", "绊", "梆", "绑",
                "榜", "蚌", "谤", "磅", "镑", "苞", "褒", "雹", "鲍", "狈", "悖", "惫", "笨", "绷", "泵", "蹦", "匕", "鄙", "庇", "毙",
                "痹", "弊", "璧", "贬", "匾", "辫", "彪", "憋", "鳖", "瘪", "彬", "斌", "缤", "濒", "鬓", "秉", "禀", "菠", "舶", "渤",
                "跛", "簸", "哺", "怖", "埠", "簿", "睬", "惭", "沧", "糙", "厕", "蹭", "茬", "岔", "豺", "掺", "搀", "禅", "馋", "蝉",
                "铲", "猖", "敞", "钞", "嘲", "澈", "忱", "辰", "铛", "澄", "逞", "秤", "痴", "弛", "侈", "耻", "宠", "畴", "稠", "锄",
                "雏", "橱", "矗", "揣", "囱", "疮", "炊", "捶", "椿", "淳", "蠢", "戳", "绰", "祠", "赐", "醋", "簇", "窜", "篡", "崔",
                "摧", "悴", "粹", "搓", "撮", "挫", "瘩", "歹", "怠", "贷", "耽", "档", "叨", "捣", "祷", "悼", "蹬", "嘀", "涤", "缔",
                "蒂", "掂", "滇", "巅", "碘", "佃", "甸", "玷", "惦", "奠", "刁", "叼", "迭", "谍", "碟", "鼎", "董", "栋", "兜", "蚪",
                "逗", "痘", "睹", "妒", "镀", "缎", "兑", "墩", "盹", "囤", "钝", "咄", "哆", "踱", "垛", "堕", "舵", "惰", "跺", "讹",
                "娥", "峨", "蛾", "扼", "鄂", "愕", "遏", "噩", "饵", "贰", "筏", "矾", "妃", "匪", "诽", "吠", "吩", "氛", "焚", "忿",
                "讽", "敷", "芙", "拂", "俘", "袱", "甫", "斧", "俯", "脯", "咐", "缚", "尬", "丐", "柑", "竿", "尴", "秆", "橄", "赣",
                "冈", "肛", "杠", "羔", "膏", "糕", "镐", "疙", "搁", "蛤", "庚", "羹", "埂", "耿", "梗", "蚣", "躬", "汞", "苟", "垢",
                "沽", "辜", "雇", "寡", "卦", "褂", "乖", "棺", "逛", "闺", "瑰", "诡", "癸", "跪", "亥", "骇", "酣", "憨", "涵", "悍",
                "捍", "焊", "憾", "撼", "翰", "夯", "嚎", "皓", "禾", "烘", "弘", "弧", "唬", "沪", "猾", "徊", "槐", "宦", "涣", "焕",
                "痪", "凰", "惶", "蝗", "簧", "恍", "谎", "幌", "卉", "讳", "诲", "贿", "晦", "秽", "荤", "豁", "讥", "叽", "唧", "缉",
                "畸", "箕", "稽", "棘", "嫉", "妓", "祭", "鲫", "冀", "颊", "奸", "歼", "煎", "拣", "俭", "柬", "茧", "捡", "荐", "贱",
                "涧", "溅", "槛", "缰", "桨", "酱", "椒", "跤", "蕉", "侥", "狡", "绞", "饺", "矫", "剿", "缴", "窖", "酵", "秸", "睫",
                "芥", "诫", "藉", "襟", "谨", "荆", "兢", "靖", "窘", "揪", "灸", "玖", "韭", "臼", "疚", "拘", "驹", "鞠", "桔", "沮",
                "炬", "锯", "娟", "捐", "鹃", "绢", "眷", "诀", "倔", "崛", "爵", "钧", "骏", "竣", "咖", "揩", "楷", "勘", "坎", "慷",
                "糠", "扛", "亢", "拷", "铐", "坷", "苛", "磕", "蝌", "垦", "恳", "啃", "吭", "抠", "叩", "寇", "窟", "垮", "挎", "筷",
                "筐", "旷", "框", "眶", "盔", "窥", "魁", "馈", "坤", "捆", "廓", "睐", "婪", "澜", "揽", "缆", "榄", "琅", "榔", "唠",
                "姥", "涝", "烙", "酪", "垒", "磊", "肋", "擂", "棱", "狸", "漓", "篱", "吏", "沥", "俐", "荔", "栗", "砾", "痢", "雳",
                "镰", "敛", "粱", "谅", "晾", "寥", "嘹", "撩", "缭", "瞭", "咧", "琳", "鳞", "凛", "吝", "赁", "躏", "拎", "伶", "聆",
                "菱", "浏", "琉", "馏", "榴", "咙", "胧", "聋", "窿", "娄", "搂", "篓", "陋", "庐", "颅", "卤", "虏", "赂", "禄", "吕",
                "侣", "屡", "缕", "峦", "抡", "仑", "沦", "啰", "锣", "箩", "骡", "蟆", "馒", "瞒", "蔓", "莽", "锚", "卯", "昧", "媚",
                "魅", "氓", "朦", "檬", "锰", "咪", "靡", "眯", "觅", "缅", "瞄", "渺", "藐", "蔑", "皿", "闽", "悯", "冥", "铭", "谬",
                "馍", "摹", "茉", "寞", "沐", "募", "睦", "暮", "捺", "挠", "瑙", "呐", "馁", "妮", "匿", "溺", "腻", "捻", "撵", "碾",
                "聂", "孽", "拧", "狞", "柠", "泞", "钮", "脓", "疟", "虐", "懦", "糯", "殴", "鸥", "呕", "藕", "趴", "啪", "耙", "徘",
                "湃", "潘", "畔", "乓", "螃", "刨", "袍", "沛", "砰", "烹", "彭", "澎", "篷", "坯", "劈", "霹", "啤", "僻", "翩", "撇",
                "聘", "乒", "坪", "魄", "仆", "菩", "圃", "瀑", "曝", "柒", "凄", "祈", "脐", "崎", "鳍", "乞", "迄", "泣", "掐", "洽",
                "钳", "乾", "黔", "谴", "嵌", "歉", "呛", "跷", "锹", "侨", "憔", "俏", "峭", "窍", "翘", "撬", "怯", "钦", "芹", "擒",
                "寝", "沁", "卿", "蜻", "擎", "琼", "囚", "岖", "渠", "痊", "瘸", "冉", "瓤", "壬", "刃", "纫", "韧", "戎", "茸", "蓉",
                "榕", "冗", "揉", "蹂", "蠕", "汝", "褥", "蕊", "闰", "腮", "叁", "搔", "骚", "臊", "涩", "瑟", "鲨", "煞", "霎", "筛",
                "删", "煽", "擅", "赡", "裳", "晌", "捎", "勺", "奢", "赦", "呻", "绅", "沈", "笙", "甥", "矢", "屎", "恃", "拭", "柿",
                "嗜", "誓", "梳", "淑", "赎", "蜀", "曙", "恕", "庶", "墅", "漱", "蟀", "拴", "栓", "涮", "吮", "烁", "硕", "嗽", "嘶",
                "巳", "伺", "祀", "肆", "讼", "诵", "酥", "粟", "溯", "隋", "祟", "隧", "唆", "梭", "嗦", "琐", "蹋", "苔", "汰", "瘫",
                "痰", "谭", "檀", "毯", "棠", "膛", "倘", "淌", "烫", "滔", "誊", "剔", "屉", "剃", "涕", "惕", "恬", "舔", "迢", "帖",
                "彤", "瞳", "捅", "凸", "秃", "颓", "蜕", "褪", "屯", "豚", "臀", "驮", "鸵", "椭", "洼", "袜", "豌", "宛", "婉", "惋",
                "皖", "腕", "枉", "妄", "偎", "薇", "巍", "帷", "苇", "畏", "尉", "猬", "蔚", "瘟", "紊", "嗡", "涡", "蜗", "呜", "巫",
                "诬", "芜", "梧", "蜈", "侮", "捂", "鹉", "勿", "戊", "昔", "犀", "熄", "蟋", "徙", "匣", "侠", "暇", "馅", "羡", "镶",
                "宵", "潇", "箫", "霄", "嚣", "淆", "肖", "哮", "啸", "蝎", "邪", "挟", "懈", "芯", "锌", "薪", "馨", "衅", "腥", "汹",
                "锈", "戌", "墟", "旭", "恤", "酗", "婿", "絮", "轩", "喧", "癣", "炫", "绚", "渲", "靴", "薛", "勋", "熏", "旬", "驯",
                "汛", "逊", "殉", "丫", "押", "涯", "衙", "讶", "焉", "阎", "蜒", "檐", "砚", "唁", "谚", "堰", "殃", "秧", "鸯", "漾",
                "夭", "吆", "妖", "尧", "肴", "姚", "窑", "谣", "舀", "椰", "腋", "壹", "怡", "贻", "胰", "倚", "屹", "邑", "绎", "姻",
                "茵", "荫", "殷", "寅", "淫", "瘾", "莺", "樱", "鹦", "荧", "莹", "萤", "颖", "佣", "庸", "咏", "踊", "酉", "佑", "迂",
                "淤", "渝", "隅", "逾", "榆", "舆", "屿", "禹", "芋", "冤", "鸳", "渊", "猿", "苑", "粤", "耘", "陨", "酝", "哉", "赃",
                "凿", "蚤", "澡", "憎", "咋", "喳", "轧", "闸", "乍", "诈", "栅", "榨", "斋", "寨", "毡", "瞻", "斩", "盏", "崭", "辗",
                "栈", "绽", "彰", "樟", "杖", "昭", "沼", "肇", "辙", "蔗", "贞", "斟", "疹", "怔", "狰", "筝", "拯", "吱", "侄", "帜",
                "挚", "秩", "掷", "窒", "滞", "稚", "衷", "粥", "肘", "帚", "咒", "昼", "拄", "瞩", "蛀", "铸", "拽", "撰", "妆", "幢",
                "椎", "锥", "坠", "缀", "赘", "谆", "卓", "拙", "灼", "茁", "浊", "酌", "啄", "琢", "咨", "姊", "揍", "卒", "佐", "佘",
                "赊"};
    }

    /**
     * 单姓：953
     */
    private static final String[] singleSur;

    /**
     * 复姓：78
     */
    private static final String[] doubleSur;

    /**
     * 少数民族姓：17
     */
    private static final String[] ethnicSur;

    /**
     * 3502个汉字
     */
    private static final String[] chineseWord;

    private static final Random random = new Random();

    /**
     * 单字名占比
     */
    public static final int singlePercentage = 40;
    /**
     * 双字名占比
     */
    public static final int doublePercentage = 42;
    /**
     * 三字名占比
     */
    public static final int triplePercentage = 8;

    /**
     * 获取单姓总个数
     */
    public static final int getSingleSurNum() {
        return singleSur.length;
    }

    /**
     * 根据下标获取单姓氏
     */
    public static final String getSingleSur(int index) {
        return singleSur[index];
    }

    /**
     * 获取复姓总个数
     */
    public static final int getDoubleSurNum() {
        return doubleSur.length;
    }

    /**
     * 根据下标获取复姓氏
     */
    public static final String getDoubleSurSur(int index) {
        return doubleSur[index];
    }

    /**
     * 获取少数民族姓总个数
     */
    public static final int getEthnicSurNum() {
        return ethnicSur.length;
    }

    /**
     * 根据下标获取少数民族姓氏
     */
    public static final String getEthnicSur(int index) {
        return ethnicSur[index];
    }

    /**
     * 获取少汉字总个数
     */
    public static final int getChineseWordNum() {
        return chineseWord.length;
    }

    /**
     * 根据下标获取汉字
     */
    public static final String getChineseWord(int index) {
        return chineseWord[index];
    }

    /**
     * 随机生成姓
     * 按单姓、复姓和少数民族姓的个数在总数中的比例为概率值生成对应姓氏
     */
    public static final String autoSur() {
        // 姓氏总数
        int totalSurNum = getSingleSurNum() + getDoubleSurNum() + getEthnicSurNum();
        // 姓氏下标
        int autoNum = random.nextInt(totalSurNum);

        // 如果大于单姓和复姓的总个数则为少数民族姓
        if (autoNum > getSingleSurNum() + getDoubleSurNum() - 1) {
            return getEthnicSur(autoNum - getSingleSurNum() - getDoubleSurNum());
        } else if (autoNum > getSingleSurNum() - 1 && autoNum < getSingleSurNum() + getDoubleSurNum()) {
            return getDoubleSurSur(autoNum - getSingleSurNum());
        } else {
            return getSingleSur(autoNum);
        }
    }

    /**
     * 获取名的字数
     */
    public static final int getNameNum() {
        int totalNum = singlePercentage + doublePercentage + triplePercentage;
        int autoNum = random.nextInt(totalNum);
        if (autoNum > singlePercentage + doublePercentage - 1) {
            return 3; // 三字名
        } else if (autoNum > singlePercentage - 1 && autoNum < singlePercentage + doublePercentage) {
            return 2;// 二字名
        } else {
            return 1;// 单字名
        }
    }

    /**
     * 随机生成名
     */
    public static final String autoName() {
        int nameNum = getNameNum();// 获取名的字数
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < nameNum; i++) {
            int index = random.nextInt(chineseWord.length);
            sb.append(chineseWord[index]);
        }
        return sb.toString();
    }

    /**
     * 随机生成姓名
     */
    public static final String autoSurAndName() {
        return autoSur() + autoName();
    }

}


